<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" th:object="${user}">
<head>
    <title th:text="${userType == 'user' ? '编辑学生' : '编辑教师'}"></title>
    <style>
        /* 与新增页面样式一致 */
        body {
            font-family: "Helvetica Neue", sans-serif;
            margin: 30px;
            background-color: #f9f9f9;
        }

        h1 {
            text-align: center;
            color: #333;
        }

        form {/* 标签定义了一个表单，使用th:object属性绑定了user对象onsubmit属性绑定了submitForm()函数。*/
            max-width: 500px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 6px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }

        label {
            display: block;
            margin: 12px 0 6px;
            font-weight: 600;
        }

        input, select {
            width: 100%;
            padding: 8px 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box;
        }

        button {
            margin-top: 20px;
            width: 100%;
            padding: 10px;
            background-color: #2c3e50;
            border: none;
            color: white;
            font-size: 16px;
            border-radius: 4px;
            cursor: pointer;
        }

        button:hover {
            background-color: #1a2733;
        }
    </style>
    <script>
        function submitForm() {/*标签内定义了submitForm()函数，用于处理表单提交，这个函数在表单提交时被调用。*/
            const formData = {
                id: [[${user.id}]] ,
                username: document.getElementById('username').value.trim(),
                // 密码留空表示不修改密码
                password: document.getElementById('password').value,
                phone: document.getElementById('phone').value.trim(),
                name: document.getElementById('name').value.trim(),
                className: document.getElementById('className') ? document.getElementById('className').value : null
            };/*仅当userType为 'user' 时显示，用于选择学生的班级*/

            fetch('/user/edit', {
                method: 'PUT',
                headers: {'Content-Type': 'application/json'},
                body: JSON.stringify(formData)
            }).then(res => res.json())
                .then(data => {
                    if (data.code === 0) {
                        alert("修改成功");
                        window.location.href = '/user';
                    } else {
                        alert("修改失败：" + data.message);
                    }
                });
            return false;
        }/*它收集表单数据，构建一个formData对象。
        使用fetch  API 发送一个 PUT 请求到   /user/edit  ，提交用户信息。
        • 根据响应结果，显示成功或失败的提示，并在成功时跳转到用户列表页面。*/
    </script>
</head>
<body>
<h1 th:text="${userType == 'user' ? '编辑学生' : '编辑教师'}">编辑用户</h1>
<form th:object="${user}" onsubmit="return submitForm()">
    <label for="username" th:text="${userType == 'user' ? '学号' : '编号'}"></label>
    <input type="hidden" id="id" name="id" th:value="*{id}">
    <input type="text" id="username" name="username" th:value="*{username}" required disabled>

    <label for="password">密码（留空表示不修改）</label>
    <input type="text" id="password" name="password">

    <label for="phone">手机号</label>
    <input type="text" id="phone" name="phone" th:value="*{phone}">


    <!-- 仅当 userType 为 user 时显示学历 -->
    <div th:if="${userType == 'user'}">
        <label for="className">班级</label>
        <select id="className" name="className" th:field="*{className}">
            <option value="">请选择班级</option>
            <option value="应急管理">应急管理</option>
            <option value="应急技术与管理">应急技术与管理</option>
            <option value="应用心理学">应用心理学</option>
            <option value="智慧应急">智慧应急</option>
            <!-- 可以根据需要动态渲染 -->
        </select>
    </div>

    <label for="name">真实姓名</label>
    <input type="text" id="name" name="name" th:value="*{name}">

    <button type="submit">保存</button>
</form>
</body>
</html>
